package com.wyh.service.g3service;

import com.wyh.domain.dto.g3dto.BuildingEstateArrearsDto;
import com.wyh.domain.dto.g3dto.CustomerPayDetailDto;
import com.wyh.domain.dto.g3dto.G3OrganizationDto;
import com.wyh.domain.po.g3po.AllChargeRate;
import com.wyh.domain.po.g3po.BuildEstateArrears;
import com.wyh.domain.po.g3po.ChargeProjectRate;
import com.wyh.domain.po.g3po.CustomerPayDetail;
import com.wyh.domain.vo.g3vo.ChargeTypeVo;
import com.wyh.domain.vo.g3vo.PropertyManagementVO;

import java.util.List;
import java.util.concurrent.Future;

public interface AsyncService {
    /**
     * 执行异步任务
     **/
    //查询面板第一行的数据
    Future<PropertyManagementVO> selectFirst(G3OrganizationDto g3OrganizationDto);
    //查询面板第二行的数据
    Future<PropertyManagementVO> selectSecond(G3OrganizationDto g3OrganizationDto);
    //查询统计类型
    Future<ChargeTypeVo> selectChargeType(G3OrganizationDto g3OrganizationDto);

    //查询收费率排名
    Future<List<ChargeProjectRate>> selectChargeRate(G3OrganizationDto g3OrganizationDto);

    //查询全部的收费率
    Future<List<AllChargeRate>> selectAllChargeRate(G3OrganizationDto g3OrganizationDto);

    //查询楼盘欠款统计
    Future<List<BuildEstateArrears>> selectProjectArrears(BuildingEstateArrearsDto buildingEstateArrearsDto);

    //查询总条数
    Future<Long> selectAllTotal(BuildingEstateArrearsDto buildingEstateArrearsDto);

    //查询用户欠款详情
    Future<List<CustomerPayDetail>> selectCustomerArrears(CustomerPayDetailDto customerPayDetailDto);
    }


